From: Florian Müllner Date: Mon, 8 Apr 2019 04:40:13 +0000 (+0200) Subject: windowManager: Don't move sticky windows when inserting workspace X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~861^2^2~15 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8b9c8ddb1ecac972fad7aad7e3033839f6fc027e;p=gnome-shell.git windowManager: Don't move sticky windows when inserting workspace Inserting a workspace is implemented by appending a new workspace, then shifting all windows after the "new" workspace up. This has an unintended side effect on sticky windows, as changing its workspace will unstick it. Fix this by excluding sticky windows - there's little point in moving them anyway, given that they should be on all workspaces (including the original workspace and the target one). https://gitlab.gnome.org/GNOME/gnome-shell/issues/1151 --- diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index e8bd0a690..09eeac105 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -1218,6 +1218,10 @@ var WindowManager = class { // Same for OR windows if (window.is_override_redirect()) return; + // Sticky windows don't need moving, in fact moving would + // unstick them + if (window.on_all_workspaces) + return; // Windows on workspaces below pos don't need moving let index = window.get_workspace().index(); if (index < pos)